```{r}
#| eval: true
library(dplyr)
mtcars %>%
group_by(cyl) %>%
summarize(mean = mean(mpg), .groups = "drop")
```# A tibble: 3 × 2
cyl mean
<dbl> <dbl>
1 4 26.7
2 6 19.7
3 8 15.1
Quarto for the curious
Tom Mock, RStudio PBC
@thomas_mock
2022-07-27
We don’t talk about Quarto
We don’t talk about Quarto
Others had more questions…
Quarto®?Quarto®?Quarto® is an open-source scientific and technical publishing system built on Pandoc
How do I make a cocktail?
A Quarto document i.e. a
.qmdis a plain text file, like a.rmd, that can be rendered to many different formats
Quarto is a command line interface (CLI) that renders plain text formats (
.qmd,.rmd,.md) OR mixed formats (.ipynb/Jupyter notebook) into PDF/Word/HTML reports, books, websites, presentations and more!
Quarto is the next-generation of RMarkdown.
For everyone.
knitr12011-10-16: initial development - an engine for dynamic report generation with R
2012-01-17: initial CRAN release
50 CRAN releases in 10 years https://cran.r-project.org/src/contrib/Archive/knitr/
rmarkdownInitial experiment: knitr::pandoc() (2014)2
Matured as the rmarkdown package (2015)
We learned from 10 years of literate programming with knitr + rmarkdown - Quarto is the continuation and unification of the best parts of RMarkdown.
We are meeting Julia/Python users in their native language, rather than mandating “use R” to write in their “native tongue”
Photo by zero take
Comfort of your own workspace
One install, batteries included
Quarto is a single unified install, comes “batteries included” straight out of the box
revealjs)| Feature | R Markdown | Quarto |
|---|---|---|
| Basic Formats | ||
| Beamer | ||
| PowerPoint | ||
| HTML Slides | ||
| Advanced Layout |
| Feature | R Markdown | Quarto |
|---|---|---|
| Cross References | ||
| Websites & Blogs | ||
| Books | ||
| Interactivity | Shiny Documents | Quarto Interactive Documents |
| Paged HTML | pagedown | Summer 2022 |
| Journal Articles | rticles | Summer 2022 |
| Dashboards | flexdashboard | Fall 2022 |
.Rmd or .ipynb?For some of you - nothing changes! Keep using RMarkdown and Jupyter.
However, most existing .rmd or .ipynb can be rendered as-is via Quarto
Since Jupyter notebooks can either be treated as a linear document to be re-executed or an already evaluated document there are additional options like: --execute
Quarto comes out of the box with much better accessibility, better defaults, more options, and a much more consistent syntax.
Development of Quarto is sponsored by RStudio, PBC. The same core team works on both Quarto and R Markdown:
Carlos Scheidegger (@cscheid)
Charles Teague (@dragonstyle)
Christophe Dervieux (@cderv)
J.J. Allaire (@jjallaire)
Yihui Xie (@yihui)
Here is the full contributors list. Quarto is open source and we welcome contributions in our github repository as well! https://github.com/quarto-dev/quarto-cli.
Follow @RStudio, @quarto_pub or me @thomas_mock on Twitter to stay up to date!
knitr) is not going awaySo let’s build up a mental model of what Quarto is and how it relates to RMarkdown and Jupyter…